package com.liu.www;

import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;

public class TestModel {

	/**
	 * 刘柱栋    2013-4-6
	 * @param args
	 */
	public static void main(String[] args) {
		// // Test 0001 ::: % test
//		int i = 51 % 13;
//		System.out.println(i);
		
//		//// // Test 0002 ::: List clear function test
//		List<String> list = new ArrayList();
//		list.add("aaaa");
//		list.add("aaaaq");
//		list.add("aaaaw");
//		System.out.println(list);
//		list.clear();
//		System.out.println(list);
		
		int[] n = {19, 49, 21, 5, 30};
		List<Integer> list = new ArrayList<>();
		int times = 0;
		for(int i : n){
			int temp = i % 13;
			if(temp == 0){
				temp = 13;
			}
			n[times++] = temp;
			if(temp < 10){
				list.add(temp);
			}
		}
		
		for(int i = 0 ,size = n.length ; i < size ; i++){
			countNumbers(n, i, 0);
		}
		
		
//		for(int i : n){
//			System.out.println(i);
//		}
		
//		getThreeNumberFromArrays(n,0);
//		
//		Set<List<Integer>> set = new HashSet<>();
//		List<Integer> list1 = new ArrayList<>();
//		List<Integer> list2 = new ArrayList<>();
//
//		list1.add(1);
//		list1.add(2);
//		list1.add(3);
//		
//		list2.add(3);
//		list2.add(2);
//		list2.add(1);
//		
//		boolean flag = list2.equals(list1);
//		System.out.println(flag);
//		
//		
//		set.add(list1);
//		set.add(list2);
		
//		System.out.println(set);
		
		
	}
	private static void countNumbers(int[] n,int startIndex,int count){
		if(n == null){
			NUMBERSLIST.clear();
			return ;
		}else if(n.length <= 0){
			NUMBERSLIST.clear();
			return ;
		}else if(startIndex >= n.length){
			NUMBERSLIST.clear();
			return ;
		}else{
			if(count != 0 && count % 10 == 0){
//				if(NUMBERSLIST.size() == 3){
//					System.out.println(NUMBERSLIST);
//				}
//				NUMBERSLIST.clear();return
				System.out.println("|||"+NUMBERSLIST);
				count = 0;
				return ;
				
			}
			if(NUMBERSLIST.size() == 3){
				System.out.println("|||"+NUMBERSLIST);
				NUMBERSLIST.clear();
			}
			System.out.println(NUMBERSLIST.size());
			for(int i = startIndex , size = n.length ; i < size ; i++){
				//System.out.print(n[i] + " ");
				NUMBERSLIST.add(n[i]);
				count += n[i];
				countNumbers(n,i+1,count);
			}
		}
	}
	private static List<Integer> NUMBERSLIST = new ArrayList<Integer>();
	private static void getThreeNumberFromArrays(int[] n,int start){
		if(n == null){
			return ;
		}else if(n.length <= 0){
			return ;
		}else if(start >= n.length){
			return ;
		}else{
			if(NUMBERSLIST.size() == 3){
				System.out.println(NUMBERSLIST);
				NUMBERSLIST.clear();
				return;
			}
			for(int i = start , size = n.length; i < size ; i++){
				
				
				if(!NUMBERSLIST.contains(n[i])){
					NUMBERSLIST.add(n[i]);
				}
				getThreeNumberFromArrays(n , i+1);
			}
		}
		
	}

}
